home *** CD-ROM | disk | FTP | other *** search
-
- # EStringF(dst:r3:PTR TO CHAR,textfmt:r4:PTR TO CHAR,args:r5=0:PTR TO ULONG)
-
- .text
- .global _EStringF
- .global _VEStringF
-
- _VEStringF:
- _EStringF:
- mflr r0
- stw r0,8(r1)
- stwu r1,-32(r1)
- stw r3,24(r1)
- li r0,0
- sth r0,-2(r3)
- # r4 and r5 are set
- # li r6,0 # copy all characters
- bl .skip
- .copy:
- lhz r5,-4(r3)
- lhz r6,-2(r3)
- cmpw r5,r6
- bgt .addchar
- mr r6,r4
- subi r4,r4,1
- li r0,0
- stbx r0,r4,r3
- b .finish
- .addchar: mr r5,r6
- stbx r4,r5,r3
- addi r5,r5,1
- sth r5,-2(r3)
- .finish: blr
-
- .skip: mflr r6 # get the address of the copy procedure
- mr r7,r3
- lwz r3,_PowerPCBase(r2)
- lwz r0,-840+2(r3) # RawDoFmtPPC
- mtlr r0
- blrl
-
- lwz r3,24(r1)
- addi r1,r1,32
- lwz r0,8(r1)
- mtlr r0
- blr
-
- .type _EStringF,@function
- .size _EStringF,$-_EStringF
- .type _VEStringF,@function
- .size _VEStringF,$-_VEStringF
-
- .extern _PowerPCBase
-